<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<!-- HTML file produced from file: manual.tex --
 -- using Hyperlatex v 2.3.1 (c) Otfried Cheong--
 -- on Emacs 21.4 (patch 12) "Portable Code" XEmacs Lucid, Wed Jun  2 18:56:52 2004 -->
<HEAD>
<TITLE>Scheme 48 Manual -- Current focus value and <TT>##</TT></TITLE>

</HEAD><BODY BGCOLOR="#ffffff">
<EM>Scheme 48 Manual</EM> | <A HREF="s48manual.html#top_node">Contents</A> | In Chapter: <A HREF="s48manual_11.html">Command processor</A><BR>Previous: <A HREF="s48manual_11.html">Command processor</A> | Next: <A HREF="s48manual_13.html">Command levels</A>
<H2>Current focus value and <TT>##</TT></H2>
<P>The command processor keeps track of a current <EM>focus value</EM>.
This value is normally the last value returned by a command.
If a command returns multiple values the focus object is a list of the
 values.
The focus value is not changed if a command returns no values or 
 a distinguished `unspecific' value.
Examples of forms that return this unspecific value are definitions,
 uses of <CODE>set!</CODE>, and <CODE>(if #f 0)</CODE>.
It prints as <CODE>#{Unspecific}</CODE>.
<P>The reader used by the command processor reads <CODE>##</CODE> as a special
 expression that evaluates to the current focus object.
<BLOCKQUOTE><PRE>
&gt; (list 'a 'b)
'(a b)
&gt; (car ##)
'a
&gt; (symbol-&gt;string ##)
"a"
&gt; (if #f 0)
#{Unspecific}
&gt; ##
"a"
&gt; 
</PRE></BLOCKQUOTE>
<P><P>
  
Previous: <A HREF="s48manual_11.html">Command processor</A> | Next: <A HREF="s48manual_13.html">Command levels</A></BODY></HTML>
